B. Collatz Conjecture
有一个变量和一个常数。下面的操作进行
- 将
增加 ,然后 - 当数字
能被 整除时,再除以 。
请注意,这两个操作都是在一次操作中依次进行的。
例如,如果数字
鉴于初始值为
做时没有思路
若
若
void solve() {
int x, y, k;cin >> x >> y >> k;
while (x >= y && k > 0) {
int t = min(k, y - x % y);
k -= t;
x += t;
while (x % y == 0)x /= y;
}
if (x < y) {
x = (x - 1 + k) % (y - 1) + 1;
}
cout << x << '\n';
}